package com.example.service.impl;

import com.example.dao.GoodsDao;
import com.example.dao.OrderdateilDao;
import com.example.entity.Goods;
import com.example.entity.Orderdateil;
import com.example.service.OrderdateilService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;

/**
 * 订单详情服务实现类
 */
@Service
public class OrderdateilServiceImpl implements OrderdateilService {

    @Resource
    private OrderdateilDao orderdateilDao;
    
    @Resource
    private GoodsDao goodsDao;

    @Override
    public PageInfo<Orderdateil> getOrderdateilList(Integer pageNum, Integer pageSize, String key, String orderno) {
        HashMap<String, Object> map = new HashMap<>();
        map.put("key", key);
        map.put("orderno", orderno);
        
        PageHelper.startPage(pageNum, pageSize);
        List<Orderdateil> list = orderdateilDao.selectAll(map);
        
        // 填充商品信息
        for (Orderdateil orderdateil : list) {
            Goods goods = goodsDao.findById(orderdateil.getGoodsid());
            orderdateil.setGoodsname(goods.getName());
            orderdateil.setGoods(goods);
        }
        
        return new PageInfo<>(list);
    }

    @Override
    public void deleteOrderdateil(int id) {
        orderdateilDao.delete(id);
    }

    @Override
    public List<Orderdateil> getGoodsXlnumPh() {
        List<Orderdateil> orlist = orderdateilDao.selectXlnum(null);
        
        // 填充商品信息
        for (Orderdateil orderdateil : orlist) {
            Goods goods = goodsDao.findById(orderdateil.getGoodsid());
            orderdateil.setGoods(goods);
            orderdateil.setGoodsname(goods.getName());
        }
        
        return orlist;
    }
} 